package com.isoft.illustrationsdraw.service;

import java.util.List;

import com.isoft.illustrationsdraw.brief.BriefIllustrationInfo;
import com.isoft.illustrationsdraw.brief.BriefUserInfo;
import com.isoft.illustrationsdraw.dto.CommentDTO;
import com.isoft.illustrationsdraw.dto.UserDetailDTO;
import com.isoft.illustrationsdraw.entity.Follow;
import com.isoft.illustrationsdraw.entity.IllustrationTag;
import com.isoft.illustrationsdraw.entity.LikeIllustration;

public interface UserDTOService {
    BriefUserInfo getBriefUserInfoById(Long id);
    List<BriefIllustrationInfo> getUserWorks(Long userId, Long authorId, Integer page, String authorName);
    List<BriefIllustrationInfo> getUserLikes(Long userId, Long targerUserId, Integer page);
    List<BriefUserInfo> getUserFans(Long id, Integer page);
    List<BriefUserInfo> getFollowedByUser(Long id, Integer page);
    boolean addFanForUser(Follow newFollowInfo);
    boolean removeFanForUser(Follow newFollowInfo);
    boolean addLikeForUser(LikeIllustration newLike);
    boolean removeLikeForUser(LikeIllustration newLike);
    CommentDTO addComment(CommentDTO newCommentDTO);
    List<BriefIllustrationInfo> getRecommandIllustrationByUserId(Long userId);
    List<BriefIllustrationInfo> getRecommandIllustrationByIllustrationId(Long userId, Long sourceIllustrationId);
}
